home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d1
/
find211d.arc
/
FIND211.DOC
next >
Wrap
Text File
|
1990-04-02
|
14KB
|
376 lines
FIND.DOC
March 25, 1990
Version 2.11 provides a tremendous gain in performance above
older versions of FIND, and other file finding programs.
FIND supports DOS 3.0 and higher.
FIND supports the standard DOS drive, filename and wildcard
structure, but will not search a specific path.
Files:
FIND211.DOC - This file
FIND211.EXE - Uses intelligent output display
FIND211.HST - History file of changes to FIND by version
FIND211.HDR - CompuServe file description header
SNAPSHOT.EXE - Capture disk sectors for bug reports
Enhancements:
o Speed
o Color
o Multiple drive search
o Elapsed time
o Exclusive hidden file search
o Standard DOS display format
o Intelligent output display
o Support 80x43 and 132x43 screen sizes
o EMS memory used when available
o DOS 4 extended disk partition support
o Dynamic data segment allocation
o Debugging aid
Speed:
Version 2.11 is 450% faster than FIND v1.x and 21% faster
than Whiz when searching for a single file name. FIND
displays file names as they match the search spec, and will
slow down in proportion to the number of names that are
displayed.
Screen performance has been improved by utilizing direct
screen writes. Snow prevention is implemented only when
the CGA card is detected.
Color:
FIND utilizes the colors that are found at the current cursor
position when the program starts. The color preference of the
user is thus maintained. Directories are displayed in the
inverse color of the text. If text is white letters on a blue
background, the directories will be blue text in a white
background. Subdirectory displays of high intensity colors are
modified so they do not blink.
The banner colors are mostly low intensity for easy viewing.
Color selection was based on the best average values for LCD
laptops, monochrome, and color monitors.
Multiple Drive Search:
FIND will search multiple drives in ascending order starting
with the drive specified by the user. If none is specified
then the first hard disk is assumed.
Note that systems without a hard drive or ram disk MUST
always specify the drive letter. FIND defaults to the
first drive after the last installed floppy disk.
Single Drive Search:
FIND will search a single drive if the /S switch is set.
This can be user-specified or the default drive.
Hidden file search:
The /H switch will display only hidden files that match
the search specification. Hidden files are defined as
those files with the System or Hidden attribute bits set.
The DOS kernel files, volume label, and other hidden files
will be displayed.
Verbose path display:
The /V switch will display all subdirectory paths as they
are scanned. This may be used to create a listing of all
the subdirectories on the disk(s). The drive letter and
path name are displayed on a single line in standard DOS
format.
This is useful for building a list of all directories on
the disk(s), or debugging purposes.
Screen pause:
FIND will automatically pause when the screen is full.
This may be overridden by using the /N switch when FIND
is started.
The banner will be scrolled off after the first pause,
and will no longer be visible. This will allow more files
to be visible on each subsequent screen.
Elapsed time:
The total time taken to accomplish the search is displayed
with the matching files list.
Standard DOS display format:
The files that match the search parameter are displayed in
exactly the same format as used by the DOS Dir command.
Appended to the standard DOS display format is the hex
value of the attribute byte and its meaning.
Display clutter from long path names is eliminated by the
path name being displayed above the file name(s). All
matching files in a given subdirectory are displayed under
the subdirectory name. A new subdirectory name is double
spaced below the last file name displayed.
Intelligent output display:
FIND determines if DOS I/O redirection to a disk file or
printer is active.
When redirection is active, all output is displayed a second
time using DOS. All screen output except the author banners
are then output to the redirected device or file.
For the screen, the color attribute found at the starting
cursor location is used.
FIND automatically uses whichever video page number is
active at startup. The user video configuration remains
unchanged.
Long screen support:
FIND uses the screen mode that is active at startup.
The 80x43 and 132x43 text screens are supported.
40 column mode is not supported. FIND will continue to
run but all output beyond column 40 will not be seen.
EMS memory support:
4 pages of EMS memory, when available, is used for storing
the directory path table. This reduces the required memory
by 64k bytes.
FIND identifies the EMMXXXX0 device drive signature then
allocates EMS memory via DOS interrupt 67h with LIM 3.2
or higher. The current context mapping is saved at entry
and is then restored when FIND terminates.
FIND currently supports 512 directories, and an unlimited
amount of files.
FIND can execute as a child process of a parent that uses
EMS memory without interfering with the parents' data.
Extended disk partition support:
FIND supports disk partitions greater than 32mb.
This feature was introduced in MS-DOS v3.2 and PC-DOS v4.0.
Dynamic data segment allocation:
Internal data segment sizes are allocated on the fly
for each logical drive that is searched. Memory is
allocated in the exact amount required for each drive.
Otherwise, memory would always have to be allocated
at 262k, the worst case condition.
Assume no EMS memory and extended disk partitions:
■ 128k FAT table
■ 64k path table
■ 64k directory data
■ 6k code and stack space
Reducing the minimum memory requirement allows FIND to more
easily run when a parent program 'shells out to DOS' and still
remains in memory.
Debugging Aid:
SNAPSHOT.EXE is a debug aid that captures the first 317k of
the specified disk boot sectors. The captured data is then
written to a floppy disk in drive A: as SNAPSHOT.DAT.
When I receive this disk and data, I can reassemble FIND
in debugging mode and run on the image of your disk.
Caveats: ALL user data within the 1st 317k of the disk will
be captured. When I receive the SNAPSHOT dump, the user agrees
to release me from all liability associated with his data.
PIF:
FIND is 'ill behaved' in screen management functions
as direct screen writes are used.
FIND is 'ill behaved' for vectors as it takes over 23h,
the Control-Break vector.
Usage:
Valid switches are /H, /S, /V:
/H - hidden file(s)
Only file attributes that match either the system
or hidden bits will be displayed.
/S - single drive
Only a single drive will be searched.
If not specified, the default drive is assumed.
Otherwise, the first file specified by the user
is the only drive searched.
/V - verbose path display
Every path searched will be displayed.
Useful to build a complete path table of the
specified drive(s) by searching for a non-existent
file. Also useful when FIND is used on a suspected
incompatible DOS to see if legal paths are being
searched.
FIND *.*
Start with the default hard drive.
Find all files.
FIND *.* /H
Start with the default hard drive.
Find hidden files only.
FIND *.* /V
Start with the default hard drive.
Display all paths as they are scanned.
FIND *.* /H /S
Start with the default hard drive.
Find hidden files only.
Check only the first hard drive.
FIND A:*.*
Start with the A: drive.
Find all files.
FIND A:*.* /S
Start with the A: drive.
Find all files.
Check only the A: drive.
FIND *.* /H /S > PRN
Start with the default hard drive.
Find hidden files only.
Check only the first hard drive.
Redirect output to printer.
FIND *.* /H /S > C:\Temp\Dir.Lst
Start with the default hard drive.
Find hidden files only.
Check only the first hard drive.
Redirect output to disk file on drive C:
Technical Data:
FIND uses the BIOS Int 11h installed equipment call to
check the number of installed floppy disk drives. If
a switch is set wrong, and this value is corrupted then
FIND will encounter errors trying to access the non-installed
drive. Any floppy error causes that floppy to be bypassed.
If the BIOS is set to 4 floppy drives (0..3), FIND will
assume the first hard drive to be device #4. If the
system actually has only 2 floppies and a hard disk, FIND
will exit with no files found, because it starts searching
at drive #4 which does not exist. Check your switch settings.
FIND uses the DOS direct read interrupt Int25h. The new
DOS 4 version deviates from earlier versions in the manner
that this interrupt is implemented. FIND automatically uses
the extended partition calling convention for DOS 4 and up.
FIND takes over one interrupt vector, Int23h (Control Break).
The control break allows the user to quit FIND at any point
during the execution.
The vector is restored upon any exit from the program.
A user entered ^C causes the program to terminate and restore
the ^C vector at exit.
FIND performs direct reads of the disk and can not damage
the integrity of the disk. No writes are done to the disk.
There exists a naming conflict with a DOS program of the
same name. FIND can be renamed to something else if the
DOS program is regularly used. FIND can also be placed
in a path that comes before the DOS path.
FIND is written entirely in Turbo Assembler v1.01.
BUG Reports:
Bug reports are graciously accepted.
1) Make/Version of DOS
2) Copy of AUTOEXEC.BAT and CONFIG.SYS
3) Names of TSRs if any, that are loaded
4) Redirected copy of FIND in verbose mode.
e.g. FIND <nonexistent.file> /V > DUMP.FIL
This provides a list of all subdirectories.
5) Use SNAPSHOT to take a dump of the suspect disk.
Attempt to diagnose any bugs by unloading all TSRs and
start with as simple a system as possible.
Please send a $10 registration to:
Bruce Gavin
4730 Signal Rock Rd
Colorado Springs CO 80922-1623
CompuServe: 70137,3244